package com.yanqu.road.entity.log.foxcard;

import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.activity.foxcard.FoxHandCard;
import com.yanqu.road.entity.activity.foxcard.FoxSaleCard;
import com.yanqu.road.entity.log.ServerBaseLog;
import com.yanqu.road.entity.log.maidian.BaseLogEntity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@FieldTypeAnnotation(tableName = "t_l_ck_activity_foxcard_choose", desc = "黑狐入侵卡包选择", autoSave = true, dataUpload = true, eventName = "red_blackchoose", uploadCk = true)
public class LogFoxCardChoose extends ServerBaseLog {

    @FieldTypeAnnotation(desc = "活动ID", isIndex = true, dataAttribute = "activityid")
    private int activityId;
    @FieldTypeAnnotation(desc = "玩家ID", isIndex = true)
    private long userId;
    @FieldTypeAnnotation(desc = "关卡id", dataAttribute = "red_blacklev")
    private int stageId;
    @FieldTypeAnnotation(desc = "回合数", dataAttribute = "red_blackid")
    private int round;
    @FieldTypeAnnotation(desc = "选的卡", dataAttribute = "red_blackchoosemap", saveJson = true)
    private FoxSaleCard chooseCard;
    @FieldTypeAnnotation(desc = "目标手牌", dataAttribute = "red_blackchoosetarget", saveJson = true)
    private List<FoxHandCard> handCards;
    @FieldTypeAnnotation(desc = "是否跳过", dataAttribute = "red_blackchooseis")
    private boolean isSkip;
    @FieldTypeAnnotation(desc = "金币数量", dataAttribute = "red_blackcoin")
    private int gold;

    @FieldTypeAnnotation(desc = "时间")
    private Date logTime;

    public LogFoxCardChoose(int activityId, long userId, int stageId, int round) {
        this.activityId = activityId;
        this.userId = userId;
        this.stageId = stageId;
        this.round = round;
        this.logTime = new Date();
    }

    @Override
    public long getUserId() {
        return userId;
    }

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        this.activityId = activityId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public int getStageId() {
        return stageId;
    }

    public void setStageId(int stageId) {
        this.stageId = stageId;
    }

    public int getRound() {
        return round;
    }

    public void setRound(int round) {
        this.round = round;
    }

    public FoxSaleCard getChooseCard() {
        return chooseCard;
    }

    public void setChooseCard(FoxSaleCard chooseCard) {
        this.chooseCard = chooseCard;
    }

    public List<FoxHandCard> getHandCards() {
        return handCards;
    }

    public void setHandCards(List<FoxHandCard> handCards) {
        this.handCards = handCards;
    }

    public boolean isSkip() {
        return isSkip;
    }

    public void setSkip(boolean skip) {
        isSkip = skip;
    }

    public int getGold() {
        return gold;
    }

    public void setGold(int gold) {
        this.gold = gold;
    }

    public Date getLogTime() {
        return logTime;
    }

    public void setLogTime(Date logTime) {
        this.logTime = logTime;
    }
}
